b7d08563ec68e1602a04d432356ab1fd817bd426,Frameworks/Misc/ERChronic/Sources/er/chronic/handlers/Handler.java,Handler,tokensToSpan,#List#Options#,194
Before Change
// not an arrow, let's hope it's a narrow
for (Handler handler : definitions.get(Handler.HandlerType.NARROW)) {
if (handler.isCompatible(options) && handler.match(tokens, definitions)) {
if (options.isDebug()) {
System.out.println("Chronic.tokensToSpan: narrow " + handler);
}
After Change
// I guess it's not a specific date, maybe it's just an anchor
for (Handler handler : definitions.get(Handler.HandlerType.ANCHOR)) {
if (handler.isCompatible(options) && (range = handler.matchCount(tokens, definitions)) != null) {
if (options.isDebug()) {
System.out.println("Chronic.tokensToSpan: anchor " + handler);
}
List<Token> goodTokens = new LinkedList<Token>();
for (Token token : range.subList(tokens)) {
if (token.getTag(Separator.class) == null) {
goodTokens.add(token);
}
}
return handler.getHandler().handle(goodTokens, options);
}
}
// not an anchor, perhaps it's an arrow
for (Handler handler : definitions.get(Handler.HandlerType.ARROW)) {
if (handler.isCompatible(options) && (range = handler.matchCount(tokens, definitions)) != null) {
if (options.isDebug()) {
System.out.println("Chronic.tokensToSpan: arrow " + handler);
}
List<Token> goodTokens = new LinkedList<Token>();
for (Token token : range.subList(tokens)) {
if (token.getTag(SeparatorAt.class) == null && token.getTag(SeparatorSlashOrDash.class) == null && token.getTag(SeparatorComma.class) == null) {
goodTokens.add(token);
}
}
return handler.getHandler().handle(goodTokens, options);
}
}
// not an arrow, let's hope it's a narrow
for (Handler handler : definitions.get(Handler.HandlerType.NARROW)) {
if (handler.isCompatible(options) && (range = handler.matchCount(tokens, definitions)) != null) {
if (options.isDebug()) {
System.out.println("Chronic.tokensToSpan: narrow " + handler);
}
//List<Token> goodTokens = new LinkedList<Token>();
//for (Token token : tokens) {
//if (token.getTag(Separator.class) == null) {
// goodTokens.add(token);
//}
//}
return handler.getHandler().handle(range.subList(tokens), options);
}
}